home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-06-28 | 1.1 KB | 54 lines | [TEXT/CWIE] |
- // ProcessInfo.cp
-
- #ifndef ProcessInfo_h
- #include "ProcessInfo.h"
- #endif
- #ifndef ProcessError_h
- #include "ProcessError.h"
- #endif
-
- ProcessInfo::ProcessInfo( ::Process p )
- {
- processInfoLength = sizeof( ProcessInfoRec );
- processName = name;
- processAppSpec = &file;
- Get( p );
- }
-
- ProcessInfo::ProcessInfo( ::Process::ApplicationProcess p )
- {
- processInfoLength = sizeof( ProcessInfoRec );
- processName = name;
- processAppSpec = &file;
- Get( p );
- }
-
- void ProcessInfo::Get( ::Process process )
- {
- ProcessError error( GetProcessInformation( &process.Number(),
- this ) );
- error.Throw();
- }
-
- void ProcessInfo::Get( ::Process::ApplicationProcess )
- {
- ProcessSerialNumber psn;
- psn.highLongOfPSN = 0;
- psn.lowLongOfPSN = kCurrentProcess;
-
- ProcessError error( GetProcessInformation( &psn, this ) );
- error.Throw();
- }
-
- const ProcessInfo& ProcessInfo::Application()
- {
- static ProcessInfo info( Process::application );
- return info;
- }
-
- bool ProcessInfo::HasLauncher() const
- {
- return processLauncher.highLongOfPSN != 0
- || processLauncher.lowLongOfPSN != kNoProcess;
- }
-